package dataStructure.xmg1.a02;


/**
 * @author: vince_zww
 * @date: 2020/10/18 0:06
 * @desceription: 数组是一种顺序存储的线性表，所有元素的内存地址是连续的
 *                  缺点：无法动态修改容量
 */
public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> ints = new ArrayList<>();
        ints.add(10);
        ints.add(11);
        ints.add(22);

        Assert.test(ints.size()==3);


    }

    private static void test(){
        //array 放入栈空间
        //11,22,33 在堆空间
//        int array[] = new int[]{11,22,33};
//        ArrayList list = new ArrayList();
//        list.add(99);
//        list.add(88);
//        list.add(77);
//        list.add(66);
//        list.add(55);
//        list.add(44);
//        list.add(list.size(),100);
//
//        list.set(3,80);
//
//        Assert.test(list.get(3) == 80);
//        list.remove(0);
//        Assert.test(list.size()==6);
//
//        for (int i = 0; i < 30; i++) {
//            list.add(i);
//        }
//        System.out.println(list.toString());

        //所有的类，最终都继承java.lang.Object
        ArrayList<Person> psersons = new ArrayList<>();

        psersons.add(new Person(10,"Jack"));
        psersons.add(new Person(12,"James"));
        psersons.add(new Person(15,"Rose"));

        System.out.println(psersons);

        ArrayList<Integer> ints = new ArrayList<>();
        ints.add(10);
        ints.add(11);
        ints.add(22);
        ints.add(33);

        System.out.println(ints);
    }

    private static void test1(){
        ArrayList<Person> persons = new ArrayList<>();
        persons.add(new Person(10,"Jack"));
        persons.add(new Person(12,"Mary"));
        persons.add(new Person(15,"Rose"));
        persons.add(new Person(16,"Bose"));
        persons.clear();
        //提醒JVM进行垃圾回收
        System.gc();
    }

    private static void test2(){
        ArrayList<Person> persons = new ArrayList<>();
        persons.add(new Person(10,"Jack"));
        persons.add(null);
        persons.add(new Person(15,"Rose"));
        persons.add(null);
        System.out.println(persons);
        System.out.println(persons.indexOf(null));
    }
}
